import pandas as pd
import numpy as np
import nltk
import jieba

# 1. 使用 datetime() 函数创建一个时间对象
now = pd.to_datetime('now')

# 2. 通过时间索引数据创建一个 Series 对象
data = np.random.randn(5)
index = pd.date_range('2023-01-01', periods=5)
series = pd.Series(data, index=index)

# # 3. 查看 datetime 对象中的元素
# print(now.year,end="年")
# print(now.month,end="月")
# print(now.day,end="日")
# print(now.hour,end="时")
# print(now.minute,end="分")
# print(now.second,end="秒")

# # 4. 输出起始日期为 2024-6-16 后的 5 天
# start_date = pd.to_datetime('2024-6-16')
# for i in range(5):
#     end_date = start_date + pd.Timedelta(days=i)
#     print(end_date)

# # 5. 输出起始日期为 2024-01-01，终止日期为 2024-06-06 之间的时间
# start_date = pd.to_datetime('2024-01-01')
# end_date = pd.to_datetime('2024-06-06')
# print(pd.date_range(start_date, end_date))
#
# # 6. 输出起始日期为 2024-05-01，以 6H 为间隔时间的时间点
# start_date = pd.to_datetime('2024-05-01')
# print(pd.date_range(start_date, periods=5, freq='6H'))
#
# # 7. 以 2024-01 作为起始时间，分别以季度、月、年为频率生成 5 个时间
# start_date = pd.to_datetime('2024-01')
# print(pd.date_range(start_date, periods=5, freq='Q'))
# print(pd.date_range(start_date, periods=5, freq='M'))
# print(pd.date_range(start_date, periods=5, freq='A'))

# # 8. 使用 Pandas 判断字符串是否包含字母“d”的行
# df = pd.DataFrame({'col1': ['apple', 'banana', 'cherry',
#                             'date', 'elderberry','father','god']})
# print(df[df['col1'].str.contains('d')])

# 9. 判断字符串元素中是否全是数字
# n = '12345'
# s="hallow world"
# print(n.isdigit())
# print(s.isdigit())
#
# # 10. 复制一个字符串中的数值，每个值重复复制 2 次
# s = '12345AAbb'
# print(''.join([x * 2 for x in s]))
# #
# 11. 使用 NLTK 进行英文分词
# nltk.download('punkt')
# text = "This is a sample sentence."
# tokens = nltk.word_tokenize(text)
# print(tokens)
#
# # 12. 使用 NLTK 进行词频提取
# text = "This is a sample sentence. This is another sample sentence."
# tokens = nltk.word_tokenize(text)
# freq_dist = nltk.FreqDist(tokens)
# print(freq_dist.most_common(5))
#
# 13. 使用 jieba 对“在这个喧嚣的世界里，我们需要学会倾听内心的声音，找到自己真正的方向”进行中文分词
# text = "在这个喧嚣的世界里，我们需要学会倾听内心的声音，找到自己真正的方向"
# words = jieba.cut(text)
# print(list(words))
#
# 14. 使用 jieba 对“你是一个多么勇敢正直的人呀！”进行中文分词并去除停用词
# text = "你是一个多么勇敢正直的人呀！"
# words = jieba.cut(text)
# stopwords = ['呀', '！']
# filtered_words = [word for word in words if word not in stopwords]
# print(list(filtered_words))

# 15. 使用 jieba 对“电影《长津湖》成为中国影史票房冠军。”进行词性标注
text = "电影《长津湖》成为中国影史票房冠军。"
words = jieba.cut(text)
pos_tags = nltk.pos_tag(words)
print(pos_tags)